#ifndef LICENSEMANAGER_H
#define LICENSEMANAGER_H

#include <QString>
#include <QDateTime>

class LicenseManager
{
public:
    static LicenseManager& instance();
    
    bool isLicensed() const;
    bool activateLicense(const QString& licenseKey);
    bool checkDeviceLimit();
    QString getHardwareId() const;
    
private:
    LicenseManager();
    ~LicenseManager();
    
    bool verifyWithServer(const QString& licenseKey);
    QString generateHardwareId() const;
    void saveActivation();
    bool loadActivation();
    
    QString m_licenseKey;
    QString m_hardwareId;
    bool m_isActivated;
    static const int MAX_DEVICES = 3;
};

#endif // LICENSEMANAGER_H 